﻿/*+===================================================================
File:      CStoneFalling.h

Summary:   Định nghĩa lớp CStoneFalling
===================================================================+*/

#ifndef _STONEFALLING_H_
#define _STONEFALLING_H_

#include "GameObject.h"

/*C+==================================================================
Class:    CStoneFalling

Summary:  Lớp CStoneFalling miêu tả đối tượng đá rơi trong màn 2.
==================================================================-C*/
class CStoneFalling : public CMoveableObject
{
private:
	D3DXVECTOR2 m_posInit;           // Vị trí bắt đầu rơi.
	float m_fTimeRing;               // Thời gian stone rung trước khi rơi.
	float m_fTimeRingAnimation;      // Thời gian thực hiện animation stone rung trước khi rơi.

	bool m_bIsFalling;
	float m_fScaleX;                 // ScaleX thực hiện animation rơi của stone.
	float m_fScaleY;				// ScaleY thực hiện animation rơi của stone.
	float m_fTimeScale;

	CGameObject* m_lastGround;
public:
	CStoneFalling(D3DXVECTOR2 pos, int id, int typeID);
	~CStoneFalling();

	void Update(float timeFrame);

	void UpdateCollision(vector<CGameObject*> vecGameObjs, float timeFrame);

	void Draw();

	void Reset();

	bool IsFalling();
};

#endif
